home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 February / PCWorld_2000-02_cd.bin / Software / Servis / FFE / MOD.SWG / 0062_SA2 or SAdT Mod Format.pas < prev    next >
Pascal/Delphi Source File  |  1997-05-11  |  3KB  |  83 lines

  1.      File Format:                                                     Page 16
  2.      ------------
  3.  
  4.      Have you ever wondered how the files are built up? Well. here is the
  5.      file formats I use:
  6.  
  7.       Offset    Length (Bytes)         Description
  8.      ----------------------------------------------------------------------
  9.         0            4                 'SAdT' These for bytes mark a Song.
  10.         4            1                 Version number (currently 9)
  11.         5           465                The 31 Instruments
  12.        470          496                The 31 Instrument names
  13.        966          128                Patternorder
  14.       1094           2                 Number of Patterns (NoP)
  15.       1096           1                 Length of Song
  16.       1097           1                 Restart Position
  17.       1098           2                 BPM
  18.       1100          256                Arpeggiolist
  19.       1356          256                Arpeggiocommands
  20.       1612          576                Trackorder
  21.       2188           2                 Aktive Channels Bits: 123456789xxxxxxx
  22.       2190        ???*192              Trackdata
  23.  
  24.    Trackorder is an 64*9 array that points to the tracks.
  25.    Track 0 is a empty track (not saved).
  26.  
  27.    each track is saved as follows:
  28.  
  29.    64 lines of:
  30.       nnnnnnni iiiieeee ppppPPPP  = 3 Bytes
  31.       (where n indicates a bit for the note,
  32.              i indicates a bit for the instruments,
  33.              e indicates a bit for the effect and
  34.              p/P indicates the effect-parameter bits.)
  35.       therefore 64*3 = 192 Bytes.
  36.  
  37.  
  38.      The Instrument Format:                                           Page 17
  39.  
  40.        Offset    Length (Bytes)         Description
  41.       -----------------------------------------------------------------------
  42.          0          11                  Instrumentdata
  43.         11           4                  Arpeggiodata
  44.  
  45.      O.K. here's how the instrument data is built up:
  46.  
  47.         Byte 1:
  48.            Bit    0: Frequenzy modulation / additiv synthesis
  49.            Bits 1-3: Feedback
  50.         Byte 2:
  51.            Bits 0-3: Freq. Multiplier     ─┐
  52.            Bit    4: Scaling               │
  53.            Bit    5: Sustaining Sound      ├ Connector
  54.            Bit    6: Vibrato               │
  55.            Bit    7: Amp. Vibrato         ─┘
  56.         Byte 3:
  57.            just like Byte 2, just for the Carrier
  58.         Byte 4:
  59.            Bits 0-3: Decay Rate
  60.            Bits 4-7: Attack Rate        Connector
  61.         Byte 5
  62.            Decy, Attack Carrier
  63.         Byte 6
  64.            Bits 0-3: Release Rate
  65.            Bits 4-7: Sustain Level       Connector
  66.         Byte 7
  67.            Release, Sustain level Carrier
  68.         Byte 8
  69.            Waveform Connector
  70.         Byte 9
  71.            Waveform Carrier
  72.         Byte 10
  73.           Bits 0-5: Volume
  74.           Bits 6-7: Level Scaling Connector
  75.         Byte 11
  76.           Volume, Level Scaling Carrier
  77.  
  78.      The Arpeggiodata consists of:
  79.  
  80.        ArpeggioStart, ArpeggioSpeed, CurrentPos, SpeedCount, each value is a
  81.        byte long.
  82.  
  83.